/*
Copyright (C) 2011 by the PSVN Research Group, University of Alberta
*/

#ifndef _PDB_H_
#define _PDB_H_

#include "psvn_game_so.h"

typedef struct {
    void* abst;
    void* map;
    void* temp_state; /** temporary space needed when doing abstraction */
} pdb_t;

pdb_t* read_pdb(const char* filename, const compiled_game_so_t* game);
void destroy_pdb(pdb_t* data, const compiled_game_so_t* game);
int pdb_lookup(const pdb_t* abst, const void* state,
               const compiled_game_so_t* game);

#endif // _PDB_H_
